package com.hospital.dictionary.module.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hospital.dictionary.common.DictModel;
import com.hospital.dictionary.module.entity.SysDict;
import com.hospital.dictionary.module.entity.SysDictItem;

import java.util.List;
import java.util.Map;

public interface SysDictService extends IService<SysDict> {

    public List<DictModel> queryDictItemsByCode(String code);

    public Map<String,List<DictModel>> queryAllDictItems();

    public String queryDictTextByKey(String code, String key);

    int isTableExist(String tableName);

    int createTable(String tableName);


    /**
     * 根据字典类型删除关联表中其对应的数据
     *
     * @param sysDict
     * @return
     */
    boolean deleteByDictId(SysDict sysDict);

    /**
     * 添加一对多
     */
    public Integer saveMain(SysDict sysDict, List<SysDictItem> sysDictItemList);

    /**
     * 查询所有部门 作为字典信息 id -->value,departName -->text
     * @return
     */
    public List<DictModel> queryAllDepartBackDictModel();

    /**
     * 查询所有用户  作为字典信息 username -->value,realname -->text
     * @return
     */
    public List<DictModel> queryAllUserBackDictModel();

    /**
     * 真实删除
     * @param id
     */
    public void deleteOneDictPhysically(String id);

    /**
     * 修改delFlag
     * @param delFlag
     * @param id
     */
    public void updateDictDelFlag(int delFlag, String id);

    /**
     * 查询被逻辑删除的数据
     * @return
     */
    public List<SysDict> queryDeleteList();

}
